package com.tian.service.impl.market;


import com.tian.mq.message.SendEmailMessage;
import com.tian.service.market.SendEmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * {@code @description:} 发送带附近的邮件
 *
 * @author tianwc 公众号：Java后端技术全栈
 * 在线刷题 1200+java面试题和1000+篇技术文章：<a href="https://woaijava.cc/">博客地址</a>
 * {@code @date:} 2024-08-13 22:43
 * {@code @version:} 1.0
 */
@Slf4j
@Service("sendEmailAppendixMessageService")
public class SendEmail4AppendixServiceImpl implements SendEmailService {
//    private final JavaMailSender javaMailSender;

    //邮件发送方邮箱
//    @Value("${spring.mail.username}")
//    private String MailSender;

//    public SendEmail4AppendixServiceImpl(JavaMailSender javaMailSender) {
//        this.javaMailSender = javaMailSender;
//    }

    @Override
    public Boolean sendEmail(SendEmailMessage sendEmailMessage) {
        //1、获取MimeMessage对象，多用途的网际邮件扩充协议
//        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//        MimeMessageHelper mimeMessageHelper;
//
//        try {
//            mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
//            //2、设置邮件发送方
//            mimeMessageHelper.setFrom(MailSender);
//            //3、设置邮件接收方
//            mimeMessageHelper.setTo(sendEmailMessage.getRecipientEmail());
//            //4、设置邮件主题
//            mimeMessageHelper.setSubject(sendEmailMessage.getRecipientEmail());
//            //5、设置邮件内容（第二个参数需要为true）
//            mimeMessageHelper.setText(sendEmailMessage.getContent(), true);
//            //附件内容
//            for (String filePath : sendEmailMessage.getFilePathList()) {
//                //FileSystemResource是Spring框架中的一个类,用来以URL或者File方式访问文件系统中的文件
//                //通过FileSystemResource对象以File方式访问指定文件
//                // public FileSystemResource(File file): filePath表示要访问的文件路径
//                FileSystemResource file = new FileSystemResource(new File(filePath));
//
//                //从给定的文件路径中提取出文件的文件名
////                FileSystemResource file = new FileSystemResource(new File("文件地址"));
////                String filename = file.getFilename(); // 获取附件名称
//                // 例如：如果输入的文件路径“C:\folder\file.txt”，那么它将提取出文件名为“file.txt”。
//                String fileName = file.getFilename();
//                log.info("附件名称:" + fileName);
//                //addAttachment()方法:添加附件到电子邮件中。它接收两个参数，
//                // 第一个参数:文件的文件名，
//                // 第二个参数:文件对象
//                // 结合使用这两个参数，可以将一个或多个文件添加到电子邮件中
//                mimeMessageHelper.addAttachment(fileName, file);
//            }
//            //6、发送文件
//            javaMailSender.send(mimeMessage);
//            log.info("带有附件的邮件发送成功");
//            return true;
//        } catch (MessagingException e) {
//            log.error("sendAppendixMail 邮件发送失败：{}", e.getMessage());
            return false;
//        }
    }
}
